문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 컴퓨터에서의 수 표현 (문단 편집) ==== unsigned, signed의 곱셈 ==== 위와 마찬가지로 오버플로에 대해 아래쪽 w비트의 결과만을 인식한다. 예를 들어, w = 3인 시스템에서 || || x || y || xy (이론상의 값) || xy (truncated) || || Unsigned || 5 (101,,(2),,) || 3 (011,,(2),,) || 15 (1__111__,,(2),,) || 7 (111,,(2),,) || || Signed || -3 (101,,(2),,) || 3 (011,,(2),,) || -9 (110__111__,,(2),,) || -1 (111,,(2),,) || 곱셈에 관해서는 조금 흥미로운 이야깃거리가 있다. 만약 곱하는 두 수 x, y 중 하나가 상수라면 대부분의 컴파일러에서는 곱셈 연산이 아닌 비트 이동(bit shift), 덧셈 등의 연산을 수행하는 것으로 최적화를 지원한다(최적화 옵션에 따라 이렇게 최적화하지 않을 수도 있다). 이는 곱셈이 덧셈이나 비트 이동에 비해서 더 많은 자원을 사용하기 때문이다. 예를 들어 14x를 계산해야 한다면, 컴파일러는 이를 다음과 같이 최적화한다. * 14x = (1110,,(2),,)x * = (2^^3^^ + 2^^2^^ + 2^^1^^)x * = 2^^3^^x + 2^^2^^x + 2^^1^^x * = {{{(x << 3) + (x << 2) + (x << 1)}}} 혹은 이렇게 최적화할 수도 있다. * 14x = (1110,,(2),,)x * = (10000,,(2),, - 10,,(2),,)x * = (2^^4^^ - 2^^1^^)x * = 2^^4^^x - 2^^1^^x * = {{{(x << 4) - (x << 1)}}}저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기